草庐IT

Ruby Regex 舍入尾随零

全部标签

python - Django——删除模板中 Decimal 的尾随零

有没有办法从django模板中的Decimal字段中删除尾随零?这是我拥有的:0.0002559000,这是我需要的:0.0002559。有答案建议使用floatformat过滤器来做到这一点:{{balance.bitcoins|floatformat:3}}但是,floatformat执行四舍五入(向下或向上),这在我的情况下是不需要的,因为我只需要删除尾随零而不进行任何四舍五入。 最佳答案 解决方案是使用normalize()方法:{{balance.bitcoins.normalize}}

python - 设置 tensorflow 舍入模式

我在tensorflow中处理小数字,这有时会导致数字不稳定。我想提高结果的精度,或者至少确定结果的界限。以下代码显示了数值错误的具体示例(它输出nan而不是0.0,因为float64不够精确,无法处理1+eps/2):importnumpyasnpimporttensorflowastf#setupeps=np.finfo(np.float64).epsv=eps/2x_init=np.array([v,1.0,-1.0],dtype=np.float64)x=tf.get_variable("x",initializer=tf.constant(x_init))square=tf.

python - 使用 Python 将一个月添加到给定日期(后一天舍入)

我想在给定的日期上加一个月importdatetimedt=datetime.datetime(year=2014,month=5,day=2)所以我应该得到datetime.datetime(year=2014,month=6,day=2)但与dt=datetime.datetime(year=2015,month=1,day=31)我应该得到datetime.datetime(year=2015,month=3,day=1)因为没有2015-02-31(而且我希望我的结果在后的一天是整数)有些月份有31天,有些月份有30天,有些月份有29天,有些月份有28天!所以添加datetim

python - Pandas 读取具有浮点值的 csv 文件导致奇怪的舍入和小数位

我有一个包含数值的csv文件,例如1524.449677。总是有6位小数。当我通过pandasread_csv导入csv文件(和其他列)时,该列自动获取数据类型object。我的问题是这些值显示为2470.6911370000003,实际上应该是2470.691137。或者值2484.30691显示为2484.3069100000002。这在某种程度上似乎是一个数据类型问题。我试图在通过read_csv导入时明确提供数据类型,方法是将dtype参数指定为{'columnname':np.float64}。问题仍然没有消失。我怎样才能让导入的值与源csv文件中的值完全一样?

python - Python 中非奇数的舍入错误?

这个问题在这里已经有了答案:Python3.xroundingbehavior(13个答案)关闭去年。我是Python的初学者,我有一个问题。为什么四舍五入像5.5,7.5,(anything).5和奇数整数部分应用round(num)工作正常(规则5/4),但四舍五入像(anything).5与同一个函数的非奇整数部分只返回一个整数部分?(但是,如果我们向该十进制数添加一个像0.000000001这样的小数字,它就可以正常工作)我的意思是下一个:round(9.5)返回10,它是正确的。但是round(8.5)返回8,但它不正确。和round(8.5+0.0000000000001)

python - Pandas DataFrame 中的舍入条目

使用:newdf3.pivot_table(rows=['Quradate'],aggfunc=np.mean)产生:Alabama_expCredit_expInventory_expNational_expPrice_expSales_expQuradate2010-01-150.5680030.4044810.4886010.4830970.4312110.5707552010-04-150.5436200.3854170.4550780.4687500.4082030.564453我想将小数四舍五入为两位数并乘以100,例如.568003应该是57已经摆弄了一段时间但无济于事;

python - 将日期时间向下舍入到前一小时

如何将日期时间向下舍入到前一小时?例如:printdatetime.now().replace(microsecond=0)>>2017-01-1113:26:12.0向下舍入到前一小时:2017-01-1112:00:00.0 最佳答案 鉴于您想要向下舍入到小时,您可以简单地替换microsecond、second和minute带零:print(datetime.now().replace(microsecond=0,second=0,minute=0))如果您想向下舍入到前小时(如示例中所述2017-01-1113:26:12.

python - 如何舍入到 Python 中的特定值

我正在研究一种自动为角色扮演游戏创建角色表的算法。在游戏中,您拥有属性,您可以将点数放入其中以增加它们。但是,在某个值时,需要2点才能使实际属性的值增加1。您从一定数量的点开始,默认情况下每个属性的值为1我有一个随机分配点数的程序,但是我不知道如何更改这些值(在字典中)以在必要时四舍五入。例如,如果我在“强度”中加了3分,那没关系,我得到的“强度”值为3(包括基数1)。但是,如果我输入4点,我仍然应该只有4的值。它应该需要5点(加上基数1)才能得到5的值。然后再需要2点才能得到值6、3分得7分,3分得8分。我目前用来分配属性的代码如下所示:attributes={}row1=['str

Python 舍入问题

我在python中遇到了一个非常奇怪的问题。(使用python2.4.x)在窗口中:>>>a=2292.5>>>print'%.0f'%a2293但是在Solaris中:>>>a=2292.5>>>print'%.0f'%a2292但这在windows和solaris中都是一样的:>>>a=1.5>>>print'%.0f'%a2有人可以解释这种行为吗?我猜它的平台取决于python的编译方式? 最佳答案 最终负责执行格式化的函数是PyOS_snprintf(参见thesources)。正如您猜测的那样,不幸的是,它依赖于系统,即它

python - 在 python 中保留尾随零

我正在编写一个表示金钱的类,我遇到的一个问题是"1.50"!=str(1.50)。str(1.50)等于1.5,突然间,POOF。45美分消失了,现在是1美元5美分。不是一美元和50美分。我有什么办法可以阻止str这样做,还是我做错了什么?这是Python2顺便说一句。 最佳答案 您可以在字符串上使用format方法来指定要表示的小数位数:>>>"{:.2f}".format(1.5)'1.50'但更好的方法是使用decimalmodule用于表示金钱,因为如果您正在做算术,二进制float的表示问题可能会给您带来轻微的结果。该模块